home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / BASIC / 0006.ZIP / SCRNDUMP.BAS < prev    next >
BASIC Source File  |  1984-02-26  |  2KB  |  74 lines

  1. 1 ' SCRNDUMP = Routine to print an image of the graphics screen  Jess B. Scott
  2. 2 ' Requires an IBM or EPSON printer with the graphics option.
  3. 9 CLS
  4. 10 PRINT "CHOOSE A DEMONSTRATION
  5. 20 PRINT "1 BINARY CODES TO THE PRINTER
  6. 30 PRINT "2 GRAPH OF A SINE WAVE
  7. 40 PRINT "3 A SPIRAL
  8. 50 PRINT "4 AN ELLIPSE IN A BOX
  9. 51 PRINT "5 PRINT PAGE (IF YOU ARE IN SCREEN 2)
  10. 60 PRINT
  11. 70 PRINT "ALL CHOICES REQUIRE GRAFTRAX
  12. 80 PRINT "THE PRINTER ALSO MUST BE ON!
  13. 90 PRINT
  14. 91 INPUT Q
  15. 92 ON Q GOTO 100,180,370,460,490
  16. 100 DEFINT N
  17. 110 OPEN "LPT1:" FOR OUTPUT AS #1
  18. 120 WIDTH "LPT1:",255
  19. 130 FOR N=0 TO 255
  20. 140 PRINT#1,CHR$(27);"K";CHR$(3);CHR$(0);
  21. 150 PRINT#1,CHR$(N);CHR$(0);CHR$(255);"_";
  22. 160 NEXT N
  23. 170 STOP
  24. 180 SCREEN 2:         CLS
  25. 190 PI=3.1417
  26. 200 DRAW "BM32,90"
  27. 210 DRAW"S8C3"
  28. 220 FOR I=1 TO 10
  29. 230 XSCALE$=XSCALE$+"R14U1D2U1"
  30. 240 YSCALE$=YSCALE$+"U9R1L2R1"
  31. 250 NEXT I
  32. 260 DRAW XSCALE$
  33. 270 DRAW "BM32,180"
  34. 280 DRAW "L1R2L1"+YSCALE$
  35. 290 DRAW"BM32,90"
  36. 300 FOR X=0 TO 2*PI STEP 2*PI/150
  37. 310 X%=32+X*280/2/PI
  38. 320 Y=SIN(X)
  39. 330 Y%=90-Y*90
  40. 340 DRAW "M"+STR$(X%)+","+STR$(Y%)
  41. 350 NEXT X
  42. 360 GOTO 490
  43. 370 SCREEN 2
  44. 380 S1=.5+RND*5:S2=RND*2
  45. 390 CLS
  46. 400 FOR R=5 TO 320 STEP 2
  47. 410 A2=A+S1:IF A2>6.28 THEN A2=A2-6.28
  48. 420 CIRCLE(320,100),R,,A,A2,5/12
  49. 430 A=A+S2:IF A>6.28 THEN A=A-6.28
  50. 440 NEXT
  51. 450 GOTO 490
  52. 460 CLS:SCREEN 2:CIRCLE(319,99),320,,,,200/640
  53. 470 LINE (0,0)-(639,199),,B
  54. 480 GOTO 490
  55. 490 LPRINT TIME$
  56. 500 Z$=STRING$(8,0)
  57. 510 WIDTH "LPT1:",255
  58. 520 DEFINT A,B,M,L,K,J,N
  59. 530 DIM A(8)
  60. 540 DEF SEG=&HB800
  61. 550 LPRINT CHR$(27);"A";CHR$(8)
  62. 560 FOR J=0 TO 24
  63. 570 LPRINT SPACE$(12);CHR$(27);"L";CHR$(128);CHR$(2);
  64. 580 FOR K=0 TO 79
  65. 590 FOR N=0 TO 6 STEP 2:A(N)=PEEK(N*40+K+320*J):A(N+1)=PEEK(&H2000+N*40+K+320*J):NEXT N
  66. 600 FOR N=0 TO 7:IF A(N)>0 GOTO 610 ELSE NEXT N:LPRINT Z$;:GOTO 640
  67. 610 M=256
  68. 620 FOR N=0 TO 7:M=M/2:B=-((M AND A(0))>0)*128-((M AND A(1))>0)*64-((M AND A(2))>0)*32-((M AND A(3))>0)*16-((M AND A(4))>0)*8-((M AND A(5))>0)*4-((M AND A(6))>0)*2-((M AND A(7))>0):IF B=13 THEN B=12
  69. 630 LPRINT CHR$(B);:NEXT N
  70. 640 NEXT K
  71. 650 LPRINT
  72. 660 NEXT J
  73. 670 LPRINT CHR$(27);"@";TIME$
  74.